<template>
  <v-app>
    <router-view />
  </v-app>
</template>

<script setup>
// 无需额外逻辑，路由会处理页面渲染
</script>

<style>
html {
  overflow-y: auto !important;
}

.v-application {
  font-family: 'Roboto', 'Microsoft YaHei', '微软雅黑', sans-serif !important;
}

/* 全局样式 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 卡片基础样式 */
.v-card {
  transition: box-shadow 0.3s ease;
}

/* 状态指示器 */
.status-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 8px;
}

.status-present {
  background-color: #4caf50;
}

.status-leave {
  background-color: #ff9800;
}

.status-abnormal {
  background-color: #f44336;
}

.status-absent {
  background-color: #9e9e9e;
}

/* 响应式表格 */
@media (max-width: 768px) {
  .v-data-table {
    font-size: 0.875rem;
  }
}

/* 确保固定布局下的正确显示 */
.v-application {
  position: relative;
}

/* 移动端满屏显示 */
@media (max-width: 1023px) {
  .v-main .v-container {
    max-width: 100% !important;
    padding: 16px;
  }
}

/* 桌面端内容距离调整 */
@media (min-width: 1024px) {
  .v-main .v-container {
    padding: 24px;
  }
}
</style>